---
title: 'GitHub'
sidebarTitle: 'GitHub'
description: 'Integrate your application with the GitHub API'
---

## 🚀 Quickstart

Connect to GitHub with Nango and see data flow in 2 minutes.

<Steps>
    <Step title="Create the integration">
        In Nango ([free signup](https://app.nango.dev)), go to [Integrations](https://app.nango.dev/dev/integrations) -> _Configure New Integration_ -> _GitHub_.
    </Step>
    <Step title="Authorize GitHub">
        Go to [Connections](https://app.nango.dev/dev/connections) -> _Add Test Connection_ -> _Authorize_, then log in to GitHub. Later, you'll let your users do the same directly from your app.
    </Step>
    <Step title="Call the GitHub API">
        Let's make your first request to the GitHub API. Replace the placeholders below with your [secret key](https://app.nango.dev/dev/environment-settings), [integration ID](https://app.nango.dev/dev/integrations), and [connection ID](https://app.nango.dev/dev/connections):
        <Tabs>
            <Tab title="cURL">

                ```bash
                curl "https://api.nango.dev/proxy/repos" \
                  -H "Authorization: Bearer <NANGO-SECRET-KEY>" \
                  -H "Provider-Config-Key: <INTEGRATION-ID>" \
                  -H "Connection-Id: <CONNECTION-ID>"
                ```

            </Tab>

            <Tab title="Node">

            Install Nango's backend SDK with `npm i @nangohq/node`. Then run:

            ```typescript
            import { Nango } from '@nangohq/node';

            const nango = new Nango({ secretKey: '<NANGO-SECRET-KEY>' });

            const res = await nango.get({
                endpoint: '/repos',
                providerConfigKey: '<INTEGRATION-ID>',
                connectionId: '<CONNECTION-ID>'
            });

            console.log(res.data);
            ```
            </Tab>


        </Tabs>
        Or fetch credentials with the [Node SDK](/reference/sdks/node#get-a-connection-with-credentials) or [API](/reference/api/connection/get).

        ✅ You're connected! Check the [Logs](https://app.nango.dev/dev/logs) tab in Nango to inspect requests.
    </Step>

    <Step title="Implement Nango in your app">
        Follow our [quickstart](/getting-started/quickstart/embed-in-your-app) to integrate Nango in your app.

        To obtain your own production credentials, follow the setup guide linked below.
    </Step>
</Steps>

## 📚 GitHub Integration Guides

Nango maintained guides for common use cases.

- [How to register your own GitHub OAuth app](/api-integrations/github/how-to-register-your-own-github-oauth-app)  
Register an OAuth app with GitHub and obtain credentials to connect it to Nango

- [How to set up a GitHub App with Nango](/api-integrations/github/how-to-set-up-a-github-app-with-nango)
Learn the differences between GitHub Apps and OAuth Apps, and how to configure a GitHub App in Nango

Official docs: [GitHub REST API Documentation](https://docs.github.com/en/rest)

## 🧩 Pre-built syncs & actions for GitHub

Enable them in your dashboard. [Extend and customize](/implementation-guides/building-integrations/extend-reference-implementation) to fit your needs.

import PreBuiltUseCases from "/snippets/generated/github/PreBuiltUseCases.mdx"

<PreBuiltUseCases />

---
